package com.wangyadong.hobby.schedule.jobtask.javasync.Observerable.observer;

import java.util.ArrayList;
import java.util.List;

/**
 * <p>
 * 主题绑定观察者
 *
 * @author <714037465@qq.com>
 * @since 2018/11/1516:54
 **/
public abstract class Subject {
    //用来保存注册的观察者对象
    private List<Observer> list = new ArrayList();

    //注册观察者对象
    public void attach(Observer observer) {
        list.add(observer);
    }

    //删除观察者
    public void remove(Observer observer) {
        list.remove(observer);
    }

    //通知所有观察者
    public void nodifyObservers(String newstate) {
        for (Observer observer : list) {
            observer.update(newstate);
        }
    }


}
